package bean;

import java.sql.SQLException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.List;

import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import javax.servlet.http.HttpServletRequest;

import DAO.CidDAO;
import DAO.DiasSessaoDAO;
import DAO.PacienteDAO;
import Model.DiasSessao;
import Model.Paciente;

public class DiasSessaoBean {
	private int id;
	private String descricao;
	private List<String> itensSelecionados;
	
	public int getId() {
		return id;
	}
	public List<String> getItensSelecionados() {
		return itensSelecionados;
	}
	public void setItensSelecionados(List<String> itensSelecionados) {
		this.itensSelecionados = itensSelecionados;
	}
	public void setId(int id) {
		this.id = id;
	}
	public String getDescricao() {
		return descricao;
	}
	public void setDescricao(String descricao) {
		this.descricao = descricao;
	}	
	
	 
	
	public String Salvar()
	{		
		DiasSessao dias = new DiasSessao();
		try
		{
			dias.setDescricao(this.getDescricao());
			
			if(this.id > 0)
			{
				dias.setIdDiasSessao(this.id);
				DiasSessaoDAO.Update(dias);
			}
			else
			{
				DiasSessaoDAO.Insert(dias);
			}
			
			FacesContext facesContext = FacesContext.getCurrentInstance();
			facesContext.addMessage("sucesso", new FacesMessage(FacesMessage.SEVERITY_INFO, "Sucesso!", "Informações Salvas com sucesso"));
			
		}
		catch(SQLException sexc)
		{
			sexc.printStackTrace();
			FacesContext facesContext = FacesContext.getCurrentInstance();
			facesContext.addMessage("erro", new FacesMessage(FacesMessage.SEVERITY_ERROR, "Erro!", "Ocorreu um problema ao salvar as informações, contate o administrador do sistema"));
		}
		dias = null;
		return "diasessao_list";
	}
	
	public String Editar()
	{		
		try
		{
			HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
			DiasSessao dias  = null;
			int id =  Integer.parseInt(request.getParameter("iddias"));
			dias = DiasSessaoDAO.LoadObject(id);		
			
			
			if(dias != null)
			{
				this.setDescricao(dias.getDescricao());
				this.setId(dias.getIdDiasSessao());
				
				ArrayList<String> arrList = new ArrayList<String>();
				String[] itens = dias.getDescricao().split("/");
				
				for(String item : itens)
				{
					arrList.add(item);
				}				
				
				this.itensSelecionados = arrList; 
			}
			
		}
		catch(SQLException ex)
		{
			ex.printStackTrace();
		}
		catch (Exception e) {
			e.printStackTrace();
		}
		
		return "diasessao_edit";
	}
	
	public String Deletar()
	{
		HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
		int id = Integer.parseInt(request.getParameter("iddias"));
		
		try
		{
			DiasSessaoDAO.Delete(id);
			FacesContext facesContext = FacesContext.getCurrentInstance();
			facesContext.addMessage("sucesso", new FacesMessage(FacesMessage.SEVERITY_INFO, "Sucesso!", "Informações apagadas com sucesso"));
		}
		catch(SQLException sqlex)		
		{
			FacesContext facesContext = FacesContext.getCurrentInstance();
			facesContext.addMessage("erro", new FacesMessage(FacesMessage.SEVERITY_INFO , "Atenção!", "Essa informação não pode ser apagada do sistema"));
		}
		
		return "diasessao_list";
	}
}
